Computer hardware devices such as disk drives, CD-ROM drives, modems and the like are increasingly becoming removable as computers become more portable and customizable. Currently, such devices are electrically designed to allow them to be "hot" plugged and unplugged from an appropriate computer port, that is, inserted or removed while the computer is powered-up and running.
In addition to the electrical considerations associated with such "hot" plugging and unplugging activity, software-based problems arise. In particular, the computer operating system is not notified of the status of the hardware device when such a hardware device is inserted or removed. As can be appreciated, this can cause substantial problems. For example, if the operating system is writing a file to the hard drive while the drive is removed, data will be lost which inevitably will have serious consequences. While the computer operating system may be able to recover from such a surprise-style removal, the user (and even the operating system) may not necessarily know that the file is not properly stored.
One solution to the above problem is to prevent such "surprise style" removals. To this end, it is believed that at least one computer vendor has implemented a specific-purpose notification mechanism dedicated to eliminating this problem. While such a solution eliminates the lost data problem, it requires intimate cooperation between a computer manufacturer and a hardware device manufacturer to agree in advance to connect their equipment together using such a specific-purpose scheme. Thus, although one hardware device vendor and one computer vendor might coordinate the ejection of devices from one type of computer, existing devices made by other manufacturers will not be able to eject in this manner, even though the similar devices otherwise conform with existing (e.g., size and communication) standards for peripheral computer devices. Indeed, such other devices may not function at all in some computers, if, for example, a device locking mechanism interferes with device insertion and/or reports to the computer that the "incompatible" device has not been installed. The known specific-purpose scheme clearly fails to meet the highly regarded quality of backwards-compatibility.
Moreover, the above-described scheme is not extensible. Thus, if devices having new features are developed, the computer systems employing this scheme will not be able to take advantage of the new features.